/**
 * 深夜模式立即初始化脚本
 * 在页面加载时立即应用深夜模式，避免闪烁
 */

(function() {
  'use strict';

  // 立即检查并应用深夜模式
  function applyDarkModeImmediately() {
    // 检查是否已经有深夜模式类
    if (document.body.classList.contains('dark-mode')) {
      return;
    }

    // 检查本地存储中的设置
    const storageKey = 'element-ui-dark-mode';
    let shouldEnableDarkMode = true; // 默认为深夜模式

    try {
      const stored = localStorage.getItem(storageKey);
      if (stored !== null) {
        shouldEnableDarkMode = stored === 'true';
      }
    } catch (error) {
      console.warn('无法读取本地存储的深夜模式设置:', error);
      // 出错时默认启用深夜模式
      shouldEnableDarkMode = true;
    }

    // 立即应用深夜模式
    if (shouldEnableDarkMode) {
      document.body.classList.add('dark-mode');
      document.body.classList.add('dark-mode-transition');
      console.log('已立即启用深夜模式');
    }
  }

  // 在 DOM 加载完成后立即执行
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', applyDarkModeImmediately);
  } else {
    // DOM 已经加载完成，立即执行
    applyDarkModeImmediately();
  }

  // 在页面可见时也检查一次（防止某些特殊情况）
  if (document.visibilityState === 'visible') {
    applyDarkModeImmediately();
  } else {
    document.addEventListener('visibilitychange', function() {
      if (document.visibilityState === 'visible') {
        applyDarkModeImmediately();
      }
    });
  }

  // 导出函数供外部使用
  window.applyDarkModeImmediately = applyDarkModeImmediately;
})();
